/**
 *
 * @description: 搜索抽离行为，可以复用
 * @author: junyong.hong
 * @createTime: 2019/8/10
 * @version: 1.0.0.0
 * @history:
 *    1、
 *    2、
 *
 */
let paginationBev = Behavior({
    properties: {},
    data: {
        count: 20,
        empty: false,
        // 搜索列表
        dataArray: [],
        // 服务器总记录数
        total: null,
        // 没有搜索到任何的数据
        noneResult: false,
        // 按钮锁
        loading: false
    },

    methods: {
        // 获取下一页数据
        setMoreData(dataArray) {
            if (dataArray == false) {
                this.data.ending = true
                if (this.data.dataArray == false) {
                    this.setData({
                        empty: true
                    })
                }
            }

            // 两个数组合并
            let temp = this.data.dataArray.concat(dataArray)
            this.data.start += this.data.count
            this.setData({
                dataArray: temp
            })
            return true
        },

        // 设置共几条
        setTotal(total) {
            this.data.total = total
            if (total == 0) {
                this.setData({
                    noneResult: true
                })
            }
        },

        // 判断是否还有下一页数据
        hasMore() {
            if (this.data.dataArray.length >= this.data.total) {
                return false
            } else {
                return true
            }
        },

        // 获取当前要从第几条开始查询
        getCurrentStart() {
            return this.data.dataArray.length
        },

        // 清空数据
        initPagination() {
            this.setData({
                dataArray: [],
                noneResult: false,
                loading: false
            })
            this.data.total = null
        },

        // 判断当前是否已经加锁
        isLocked() {
            return this.data.loading ? true : false
        },
        // 加锁
        locked() {
            this.setData({
                loading: true
            })
        },
        // 解锁
        unLocked() {
            this.setData({
                loading: false
            })
        }
    }
})


export {
    paginationBev
}